using LS.Event;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Events;
using UnityEngine.UI;

namespace LS.UI
{
    public abstract class MainMenuUiDocumentForm : UEuiForm
    {
        public override bool FadeWithoutTimeScale => true;
        public UnityEvent<int, MainMenuUiDocumentForm> OnMenuEvent = new UnityEvent<int, MainMenuUiDocumentForm>();

        protected void InvokeMenuEvent(int eventId)
        {
            OnMenuEvent?.Invoke(eventId, this);
            UIMainMenuEventArgs args = LSGameEventArgs.Create<UIMainMenuEventArgs>();
            args.MenuEvent = eventId;
            LSEntry.Event.Fire(this, args);
        }

        public abstract void SetButtonActive(int index, bool active);
    }
}
